package com.xh.bussiness.tms.model;

import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.xh.bussiness.system.model.Student;
import com.xh.core.model.SuperEntity;
import io.swagger.models.auth.In;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * 班级表
 * </p>
 *
 * @author daiwei
 * @since 2019-02-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("tms_class")
public class Class extends SuperEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 年级id
     */
    private String gradeId;

    /**
     * 年级名称
     */
    private String gradeName;

    /**
     * 学科id
     */
    private String subjectId;

    /**
     * 学科名称
     */
    private String subjectName;

    /**
     * 班型id
     */
    private String classTypeId;

    /**
     * 班型名称
     */
    private String classTypeName;

    /**
     * 班级名称
     */
    private String title;

    /**
     * 0：未开班，1已开班
     */
    private Integer isOpen;

    /**
     * 总课次数
     */
    private Integer totalCount;

    /**
     * 开课日期
     */
    private LocalDate startDate;

    /**
     * 结课日期
     */
    private LocalDate endDate;

    /**
     * 状态(0正常，1停用)
     */
    private Integer status;

    /**
     * 主讲教师ID
     */
    private String teacherId;

    /**
     * 主讲教师名称
     */
    private String teacherName;

    /**
     * 辅助教师ID
     */
    private String assistantId;

    /**
     * 辅助教师名称
     */
    private String assistantName;
    /**
     * 第三方id
     */
    private String thirdId;
    /**
     * 来源
     */
    private String source;
    /**
     * 校区id
     */
    private String orgId;
    /**
     * 课程id
     */
    private String courseId;

    @TableField(exist = false)
    private String orgName;

    @TableField(exist = false)
    private List<Student> students;
    @TableField(exist = false)
    private Integer studentCount;

}
